package org.jeecg.modules.demo.entity;

import java.io.Serializable;
import java.io.UnsupportedEncodingException;
import java.util.Date;
import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableLogic;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.jeecg.common.aspect.annotation.Dict;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * @Description: smt_company_info
 * @Author: jeecg-boot
 * @Date:   2023-12-23
 * @Version: V1.0
 */
@Data
@TableName("smt_company_info")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="smt_company_info对象", description="smt_company_info")
public class SmtCompanyInfo implements Serializable {
    private static final long serialVersionUID = 1L;

	/**主键id*/
	@TableId(type = IdType.AUTO)
    @ApiModelProperty(value = "主键id")
    private Integer id;
	/**商户系统用户标识，商户系统中唯一编号*/
	@Excel(name = "商户系统用户标识，商户系统中唯一编号", width = 15)
    @ApiModelProperty(value = "商户系统用户标识，商户系统中唯一编号")
    private String bizUserId;
	/**1-企业
2-个体工商户
3-事业单位
不填，则默认1
注：企业名称含“公司”，不支持上送“2-个体工商户”*/
	@Excel(name = "1-企业 2-个体工商户”", width = 15)
    @ApiModelProperty(value = "1-企业 2-个体工商户")
    private Integer comproperty;
	/**企业名称，如有括号，用中文格式（）*/
	@Excel(name = "企业名称，如有括号，用中文格式（）", width = 15)
    @ApiModelProperty(value = "企业名称，如有括号，用中文格式（）")
    private java.lang.String companyName;
	/**企业地址
华通银行存管必须上送*/
	@Excel(name = "企业地址 ", width = 15)
    @ApiModelProperty(value = "企业地址 ")
    private String companyAddress;
	/**认证类型
1:三证
2:一证
默认1-三证*/
	@Excel(name = "认证类型 1:三证 2:一证", width = 15)
    @ApiModelProperty(value = "认证类型 1:三证 2:一证 默认1-三证")
    private Integer authType;
	/**	统一社会信用（一证）
认证类型为2时必传*/
	@Excel(name = "	统一社会信用（一证） 认证类型为2时必传", width = 15)
    @ApiModelProperty(value = "	统一社会信用（一证） 认证类型为2时必传")
    private String unicredit;
	/**营业执照号（三证）
认证类型为1时必传*/
	@Excel(name = "营业执照号（三证） 认证类型为1时必传", width = 15)
    @ApiModelProperty(value = "营业执照号（三证） 认证类型为1时必传")
    private String businessLicense;
	/**组织机构代码（三证）
认证类型为1时必传*/
	@Excel(name = "组织机构代码（三证） 认证类型为1时必传", width = 15)
    @ApiModelProperty(value = "组织机构代码（三证） 认证类型为1时必传")
    private String organizationCode;
	/**税务登记证（三证）
认证类型为1时必传*/
	@Excel(name = "税务登记证（三证） 认证类型为1时必传", width = 15)
    @ApiModelProperty(value = "税务登记证（三证） 认证类型为1时必传")
    private String taxregister;
	/**银行预留手机
账户类型=0-对私，则必填*/
	@Excel(name = "银行预留手机 账户类型=0-对私，则必填", width = 15)
    @ApiModelProperty(value = "银行预留手机 账户类型=0-对私，则必填")
    private String phone;
	/**法人姓名*/
	@Excel(name = "法人姓名", width = 15)
    @ApiModelProperty(value = "法人姓名")
    private java.lang.String legalName;
	/**法人证件类型*/
	@Excel(name = "法人证件类型", width = 15)
    @ApiModelProperty(value = "法人证件类型")
    private java.lang.Integer identityType;
	/**法人证件号码，AES加密*/
	@Excel(name = "法人证件号码，AES加密", width = 15)
    @ApiModelProperty(value = "法人证件号码，AES加密")
    private java.lang.String legalids;
	/**法人手机号码*/
	@Excel(name = "法人手机号码", width = 15)
    @ApiModelProperty(value = "法人手机号码")
    private java.lang.String legalPhone;
	/**账户类型
0- 对私
1- 对公
企业性质=1-企业/3-事业单位，默认1-对公，不支持上送0-对私
企业性质=2-个体工商户，支持上送0-对私/1-对公，不填默认1-对公*/
	@Excel(name = "账户类型 0- 对私 1- 对公 ", width = 15)
    @ApiModelProperty(value = "账户类型 0- 对私 1- 对公 ")
    private Integer acctType;
	/**账户类型=1-对公，企业对公账户，支持数字和“-”字符

账户类型=0-对私，则上送对私账户（借记卡），且必填

AES加密， href="#_敏感信息加解密" 详细*/
	@Excel(name = "账户类型=1-对公，企业对公账户，支持数字和“-”字符 账户类型=0-对私，则上送对私账户（借记卡）", width = 15)
    @ApiModelProperty(value = "账户类型=1-对公，企业对公账户，支持数字和“-”字符 账户类型=0-对私，则上送对私账户（借记卡）")
    private String accountNo;
	/**开户银行名称，详细，需严格按照银行列表上送，部分银行支持多种上送方式，选其一上送即可。

账户类型=1-对公，则必填

注：测试环境仅支持工农中建交。*/
	@Excel(name = "开户银行名称，详细，需严格按照银行列表上送，部分银行支持多种上送方式，选其一上送即可。 ", width = 15)
    @ApiModelProperty(value = "开户银行名称，详细，需严格按照银行列表上送，部分银行支持多种上送方式，选其一上送即可")
    private String parentBankName;
	/**支付行号，12位数字
账户类型=1-对公，则必填*/
	@Excel(name = "支付行号，12位数字账户类型=1-对公，则必填", width = 15)
    @ApiModelProperty(value = "支付行号，12位数字 账户类型=1-对公，则必填")
    private String unionBank;
	/**开户行支行名称
如：“中国工商银行股份有限公司北京樱桃园支行”
账户类型=1-对公，则必填*/
	@Excel(name = "开户行支行名称 如：“中国工商银行股份有限公司北京樱桃园支行” 账户类型=1-对公，则必填", width = 15)
    @ApiModelProperty(value = "开户行支行名称 如：“中国工商银行股份有限公司北京樱桃园支行” 账户类型=1-对公，则必填")
    private java.lang.String bankName;
	/**门店id*/
	@Excel(name = "门店id", width = 15)
    @ApiModelProperty(value = "门店id")
    private String merchantId;
	/**创建时间*/
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "创建时间")
    private Date createTime;
	/**修改时间*/
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "修改时间")
    private Date updateTime;
	/**门店名称*/
	@Excel(name = "门店名称", width = 15)
    @ApiModelProperty(value = "门店名称")
    private java.lang.String merName;
	/**状态*/
	@Excel(name = "状态", width = 15)
    @ApiModelProperty(value = "状态")
    private java.lang.Integer status;
	/**原因*/
	@Excel(name = "原因", width = 15)
    @ApiModelProperty(value = "原因")
    private java.lang.String reason;
}
